package com.company.ljh.easy;

/**
 * @description:
 * 345. 反转字符串中的元音字母
 * 简单
 * 306
 * 相关企业
 * 给你一个字符串 s ，仅反转字符串中的所有元音字母，并返回结果字符串。
 *
 * 元音字母包括 'a'、'e'、'i'、'o'、'u'，且可能以大小写两种形式出现不止一次。
 * @projectName:leet_code
 * @see:com.company.ljh.easy
 * @author:ljh
 * @createTime:2023/6/29 12:19
 * @version:1.0
 */
public class 反转字符串中的元音字母 {
    //考虑大小写情况
    public String reverseVowels(String s) {
        int start = 0;
        int end = s.length()-1;
        char[] charArray = s.toCharArray();
        while(start < end){
            while(start < s.length() && !isVowels(charArray[start])  ){
                start++;
            }
            while(end >= 0 && !isVowels(charArray[end])  ){
                end--;
            }
            if(start < end){
                char temp = charArray[start];
                charArray[start] = charArray[end];
                charArray [end] = temp;
                start++;
                end--;
            }
        }
        return String.valueOf(charArray);
    }
    public boolean isVowels(char c){
        String vowelsStr= "aeiou";
        int i = 0;
        while(i < 5){
            if( c == vowelsStr.charAt(i) || c == vowelsStr.charAt(i)-32){
                return true;
            }
            i++;
        }
        return false;
    }
}
